# 生产者
#     创建的包中的文件，必须起名喂 tasks.py
#     1.所谓的生产者其实就是任务，任务就是函数
#     2.函数必须要被celery 的实例对象的task装饰器装饰
#     3.这个函数需可以让celery 自动检测  自动检测的时tasks.py 文件


from libs.yuntongxun.sms import CCP


from celery_tasks.main import app


@app.task(bind=True,default_retry_delay=10)
def send_sms_code(self,mobile,sms_code):
    # 没有的变量以参数的形式传递
    try:
        rect = CCP().send_template_sms(mobile, [sms_code, 5], 1)
    except Exception as e:
        raise self.retry(exc=e,max_retries=3)
    if rect != 0:

        # 重试
        raise self.retry(exc=Exception("发送失败"),max_retries=3)